package com.odd.webapp.businessobjects;

import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import java.util.Date;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.Inheritance;
import javax.jdo.annotations.InheritanceStrategy;

/**
 * TODO Auditing class-level Javadoc.
 *
 * <p>...</p>
 *
 */
@PersistenceCapable
@Inheritance(strategy = InheritanceStrategy.SUBCLASS_TABLE)
public class Auditing implements java.io.Serializable {
  
  public static final int CURRENT = 0;
  public static final int UPDATED = 1;
  public static final int DELETED = 2;
  
  @PrimaryKey
  @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
  private Long key;
  @Persistent
  private Long parentKey;
  @Persistent
  private int objectStatus;
  @Persistent
  private String editorUsername;
  @Persistent
  private Date time;
  @Persistent
  private String comment;
  /**
   * @return the objectStatus
   */
  public int getObjectStatus() {
    return objectStatus;
  }
  /**
   * @param objectStatus the objectStatus to set
   */
  public void setObjectStatus(int objectStatus) {
    this.objectStatus = objectStatus;
  }
  /**
   * @return the editorUsername
   */
  public String getEditorUsername() {
    return editorUsername;
  }
  /**
   * @param editorUsername the editorUsername to set
   */
  public void setEditorUsername(String editorUsername) {
    this.editorUsername = editorUsername;
  }
  /**
   * @return the time
   */
  public Date getTime() {
    return time;
  }
  /**
   * @param time the time to set
   */
  public void setTime(Date time) {
    this.time = time;
  }
  /**
   * @return the comment
   */
  public String getComment() {
    return comment;
  }
  /**
   * @param comment the comment to set
   */
  public void setComment(String comment) {
    this.comment = comment;
  }
  /**
   * @return the key
   */
  public Long getKey() {
    return key;
  }
  /**
   * @param key the key to set
   */
  public void setKey(Long key) {
    this.key = key;
  }
  /**
   * @return the parentKey
   */
  public Long getParentKey() {
    return parentKey;
  }
  /**
   * @param parentKey the parentKey to set
   */
  public void setParentKey(Long parentKey) {
    this.parentKey = parentKey;
  }

}
